home *** CD-ROM | disk | FTP | other *** search
- /*
-
- MercuryInstaller スタートアップルーチン
-
- */
-
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #include<jstring.h>
-
- #include"mercury.h"
- /*-----------------------------オプションの解析------------------------------*/
- static void option(char *s)
- {
- switch (s[1])
- {
- case 'D':
- case 'd':
- Drive = s[2];
- break;
- case 'C':
- case 'c':
- Flag_noignore = 1;
- break;
- case 'E':
- case 'e':
- Flag_isfmesc = (s[2]=='F' || s[2]=='f');
- break;
- case 'h':
- case 'H':
- case '?':
- printf( "書式:MERCURY [オプション] [インデックスファイル名]\n"
- "\n"
- "オプション : \n"
- " -D[ドライブ名] データドライブの指定\n"
- " -C インデックスファイルの検査を厳密に行う\n"
- " -EF FMシリーズ用エスケープシーケンスを使用\n");
- exit(0);
- default:
- printf("不正なオプションです : %s\n",s);
- exit(1);
- }
- }
- /*-----------------------------スタートアップ--------------------------------*/
- extern int main(int argc,char **argv)
- {
- char *p = argv[0];
- char buf[128];
-
- diet_init();
-
- printf( "MercuryInstaller Version " VERSION " for MS-DOS\n"
- "Copyright (c) 1994-95 Delmonta\n\n");
-
- fclose(stdaux);
- fclose(stdprn);
- freopen("/dev/con","r",stdin);
- freopen("/dev/con","w",stdout);
-
- while (argv++,--argc)
- {
- if (*argv[0]=='-')
- option(argv[0]);
- else
- {
- char c = Drive;
- readidxfile(argv[0]);
- if (c!='\0')
- Drive = c;
- goto end;
- }
- }
-
- /* コマンドラインでファイル名が指定されなかった場合 */
- if (p!=NULL)
- {
- strcpy(buf,p);
- strcpy(jstrrchr(buf,'\\')+1,DEFAULT_IDXFILENAME);
- p = buf;
- }
- else
- p = DEFAULT_IDXFILENAME;
-
- readidxfile(p);
-
- end:
-
- menu();
- }
- /*-----------------------------End of start.c--------------------------------*/